package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontPayDetail table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontPayDetail"
 */

public abstract class BaseAnteFrontPayDetail  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontPayDetail";
	public static String PROP_TRANS_TIME = "TransTime";
	public static String PROP_TRANS_BASE_MONEY = "TransBaseMoney";
	public static String PROP_LOGIN_ID = "LoginId";
	public static String PROP_TRANS_PRICE_MONEY = "TransPriceMoney";
	public static String PROP_REMNANT_BASE_MONEY = "RemnantBaseMoney";
	public static String PROP_REMNANT_PRICE_MONEY = "RemnantPriceMoney";
	public static String PROP_TRANS_PRESENT_MONEY = "TransPresentMoney";
	public static String PROP_REMNANT_PRESENT_MONEY = "RemnantPresentMoney";
	public static String PROP_COUNTER_ID = "CounterId";
	public static String PROP_ACCOUNT_ID = "AccountId";
	public static String PROP_ASSOCIATE_ID = "AssociateId";
	public static String PROP_TRANS_TYPE = "TransType";
	public static String PROP_REMNANT_FREEZE_MONEY = "RemnantFreezeMoney";
	public static String PROP_DETAIL_ID = "DetailId";


	// constructors
	public BaseAnteFrontPayDetail () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontPayDetail (java.lang.Integer detailId) {
		this.setDetailId(detailId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontPayDetail (
		java.lang.Integer detailId,
		java.lang.Integer accountId,
		java.lang.String counterId,
		java.lang.String loginId,
		java.lang.Integer transType,
		java.lang.Integer transBaseMoney,
		java.lang.Integer transPriceMoney,
		java.lang.Integer transPresentMoney,
		java.util.Date transTime,
		java.lang.Integer remnantBaseMoney,
		java.lang.Integer remnantPriceMoney,
		java.lang.Integer remnantPresentMoney,
		java.lang.Integer remnantFreezeMoney,
		java.lang.String associateId) {

		this.setDetailId(detailId);
		this.setAccountId(accountId);
		this.setCounterId(counterId);
		this.setLoginId(loginId);
		this.setTransType(transType);
		this.setTransBaseMoney(transBaseMoney);
		this.setTransPriceMoney(transPriceMoney);
		this.setTransPresentMoney(transPresentMoney);
		this.setTransTime(transTime);
		this.setRemnantBaseMoney(remnantBaseMoney);
		this.setRemnantPriceMoney(remnantPriceMoney);
		this.setRemnantPresentMoney(remnantPresentMoney);
		this.setRemnantFreezeMoney(remnantFreezeMoney);
		this.setAssociateId(associateId);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer detailId;

	// fields
	private java.lang.Integer accountId;
	private java.lang.String counterId;
	private java.lang.String loginId;
	private java.lang.Integer transType;
	private java.lang.Integer transBaseMoney;
	private java.lang.Integer transPriceMoney;
	private java.lang.Integer transPresentMoney;
	private java.util.Date transTime;
	private java.lang.Integer remnantBaseMoney;
	private java.lang.Integer remnantPriceMoney;
	private java.lang.Integer remnantPresentMoney;
	private java.lang.Integer remnantFreezeMoney;
	private java.lang.String associateId;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="native"
     *  column="DetailId"
     */
	public java.lang.Integer getDetailId () {
		return detailId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param detailId the new ID
	 */
	public void setDetailId (java.lang.Integer detailId) {
		this.detailId = detailId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: AccountId
	 */
	public java.lang.Integer getAccountId () {
		return accountId;
	}

	/**
	 * Set the value related to the column: AccountId
	 * @param accountId the AccountId value
	 */
	public void setAccountId (java.lang.Integer accountId) {
		this.accountId = accountId;
	}



	/**
	 * Return the value associated with the column: CounterId
	 */
	public java.lang.String getCounterId () {
		return counterId;
	}

	/**
	 * Set the value related to the column: CounterId
	 * @param counterId the CounterId value
	 */
	public void setCounterId (java.lang.String counterId) {
		this.counterId = counterId;
	}



	/**
	 * Return the value associated with the column: LoginId
	 */
	public java.lang.String getLoginId () {
		return loginId;
	}

	/**
	 * Set the value related to the column: LoginId
	 * @param loginId the LoginId value
	 */
	public void setLoginId (java.lang.String loginId) {
		this.loginId = loginId;
	}



	/**
	 * Return the value associated with the column: TransType
	 */
	public java.lang.Integer getTransType () {
		return transType;
	}

	/**
	 * Set the value related to the column: TransType
	 * @param transType the TransType value
	 */
	public void setTransType (java.lang.Integer transType) {
		this.transType = transType;
	}



	/**
	 * Return the value associated with the column: TransBaseMoney
	 */
	public java.lang.Integer getTransBaseMoney () {
		return transBaseMoney;
	}

	/**
	 * Set the value related to the column: TransBaseMoney
	 * @param transBaseMoney the TransBaseMoney value
	 */
	public void setTransBaseMoney (java.lang.Integer transBaseMoney) {
		this.transBaseMoney = transBaseMoney;
	}



	/**
	 * Return the value associated with the column: TransPriceMoney
	 */
	public java.lang.Integer getTransPriceMoney () {
		return transPriceMoney;
	}

	/**
	 * Set the value related to the column: TransPriceMoney
	 * @param transPriceMoney the TransPriceMoney value
	 */
	public void setTransPriceMoney (java.lang.Integer transPriceMoney) {
		this.transPriceMoney = transPriceMoney;
	}



	/**
	 * Return the value associated with the column: TransPresentMoney
	 */
	public java.lang.Integer getTransPresentMoney () {
		return transPresentMoney;
	}

	/**
	 * Set the value related to the column: TransPresentMoney
	 * @param transPresentMoney the TransPresentMoney value
	 */
	public void setTransPresentMoney (java.lang.Integer transPresentMoney) {
		this.transPresentMoney = transPresentMoney;
	}



	/**
	 * Return the value associated with the column: TransTime
	 */
	public java.util.Date getTransTime () {
		return transTime;
	}

	/**
	 * Set the value related to the column: TransTime
	 * @param transTime the TransTime value
	 */
	public void setTransTime (java.util.Date transTime) {
		this.transTime = transTime;
	}



	/**
	 * Return the value associated with the column: RemnantBaseMoney
	 */
	public java.lang.Integer getRemnantBaseMoney () {
		return remnantBaseMoney;
	}

	/**
	 * Set the value related to the column: RemnantBaseMoney
	 * @param remnantBaseMoney the RemnantBaseMoney value
	 */
	public void setRemnantBaseMoney (java.lang.Integer remnantBaseMoney) {
		this.remnantBaseMoney = remnantBaseMoney;
	}



	/**
	 * Return the value associated with the column: RemnantPriceMoney
	 */
	public java.lang.Integer getRemnantPriceMoney () {
		return remnantPriceMoney;
	}

	/**
	 * Set the value related to the column: RemnantPriceMoney
	 * @param remnantPriceMoney the RemnantPriceMoney value
	 */
	public void setRemnantPriceMoney (java.lang.Integer remnantPriceMoney) {
		this.remnantPriceMoney = remnantPriceMoney;
	}



	/**
	 * Return the value associated with the column: RemnantPresentMoney
	 */
	public java.lang.Integer getRemnantPresentMoney () {
		return remnantPresentMoney;
	}

	/**
	 * Set the value related to the column: RemnantPresentMoney
	 * @param remnantPresentMoney the RemnantPresentMoney value
	 */
	public void setRemnantPresentMoney (java.lang.Integer remnantPresentMoney) {
		this.remnantPresentMoney = remnantPresentMoney;
	}



	/**
	 * Return the value associated with the column: RemnantFreezeMoney
	 */
	public java.lang.Integer getRemnantFreezeMoney () {
		return remnantFreezeMoney;
	}

	/**
	 * Set the value related to the column: RemnantFreezeMoney
	 * @param remnantFreezeMoney the RemnantFreezeMoney value
	 */
	public void setRemnantFreezeMoney (java.lang.Integer remnantFreezeMoney) {
		this.remnantFreezeMoney = remnantFreezeMoney;
	}



	/**
	 * Return the value associated with the column: AssociateId
	 */
	public java.lang.String getAssociateId () {
		return associateId;
	}

	/**
	 * Set the value related to the column: AssociateId
	 * @param associateId the AssociateId value
	 */
	public void setAssociateId (java.lang.String associateId) {
		this.associateId = associateId;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontPayDetail)) return false;
		else {
			AnteFrontPayDetail anteFrontPayDetail = (AnteFrontPayDetail) obj;
			if (null == this.getDetailId() || null == anteFrontPayDetail.getDetailId()) return false;
			else return (this.getDetailId().equals(anteFrontPayDetail.getDetailId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getDetailId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getDetailId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}